<template>
    <div class="flex-1 w-full h-full" id="userInfoRef"></div>
</template>

<script setup lang="ts">
import * as echarts from 'echarts';


let option = {
    tooltip: {
        trigger: 'axis',
        axisPointer: {
            type: 'cross',
            label: {
                backgroundColor: '#6a7985'
            }
        }
    },
    // toolbox: {
    //     feature: {
    //         saveAsImage: {}
    //     }
    // },
    grid: {
        left: '3%',
        right: '3%',
        bottom: '2%',
        containLabel: true
    },
    xAxis: [
        {
            type: 'category',
            boundaryGap: false,
            data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
        }
    ],
    yAxis: [
        {
            type: 'value'
        }
    ],
    series: [
        {
            name: '张三',
            type: 'line',
            stack: 'Total',
            areaStyle: {},
            emphasis: {
                focus: 'series'
            },
            data: [120, 132, 101, 134, 90, 230, 210]
        },
        {
            name: '王五',
            type: 'line',
            stack: 'Total',
            areaStyle: {},
            emphasis: {
                focus: 'series'
            },
            data: [220, 182, 191, 234, 290, 330, 310]
        },
        {
            name: '李四',
            type: 'line',
            stack: 'Total',
            areaStyle: {},
            emphasis: {
                focus: 'series'
            },
            data: [150, 232, 201, 154, 190, 330, 410]
        },
        {
            name: '赵六',
            type: 'line',
            stack: 'Total',
            areaStyle: {},
            emphasis: {
                focus: 'series'
            },
            data: [320, 332, 301, 334, 390, 330, 320]
        },
        {
            name: '李二',
            type: 'line',
            stack: 'Total',
            label: {
                show: true,
                position: 'top'
            },
            areaStyle: {},
            emphasis: {
                focus: 'series'
            },
            data: [820, 932, 901, 934, 1290, 1330, 1320]
        }
    ]
};

const myChart = ref<any>()
let timer = ref<number | undefined>()
const init = () => {
    let chartDom = document.getElementById('userInfoRef');
    if (myChart.value) {
        myChart.value.dispose()
    }
    if (chartDom) {
        myChart.value = echarts.init(chartDom);
        myChart.value.setOption(option);
    }
}
const implement = () => {
    if (unref(timer)) {
        clearTimeout(timer.value)
    }
    timer.value = setTimeout(() => {
        if (myChart.value) {
            myChart.value.dispose()
        }
        init()
    }, 1000)
}
onMounted(() => {
    init()
    window.addEventListener('resize', implement)
})

onUnmounted(() => {
    window.removeEventListener('resize',implement)
})
</script>

<style scoped></style>